创建一个 Pingpong 进程
这个教程将指导你在 aos 中创建一个简单的“ping-pong”过程。 在此过程中,每当进程收到带有数据“ping”的消息时,它都会自动回复“pong”。 这是 aos 中消息处理和进程间交互的基本示例。
步骤 1: 打开 aos
CLI
- 首先打开命令行界面并输入
aos
进入 aos 环境。
步骤 2: 打开内置编辑器
- 在 aos CLI 中输入“.editor”打开内置文本编辑器。 你将在此处编写 pingpong 处理程序代码。
步骤 3: 添加 Pingpong Handler
在编辑器中,输入以下 Lua 代码来添加 pingpong 模式的处理程序:
luaHandlers.add( "pingpong", Handlers.utils.hasMatchingData("ping"), Handlers.utils.reply("pong") )
这个 lua 脚本做了三个操作:
- 添加一个新的名为"pingpong"的 handler。
- 它使用
Handlers.utils.hasMatchingData("ping")
来检查收到的消息中是否有 "ping" 字段. - 如果消息中包含 "ping",
Handlers.utils.reply("pong")
会自动返回 "pong" 的消息.
步骤 4: 退出编辑器
- 在编写完代码后,输入
.done
并输入 Enter 来退出编辑器并运行脚本。
步骤 5: 测试 Pingpong 进程
- 为了测试进程,需要向进程发送带有
ping
的消息。你可以在 CLI 中使用下面的命令:luaSend({ Target = ao.id, Data = "ping" })
- 进程将在收件箱
Inbox
中收到带有 "pong" 的恢复消息。
步骤 6: 查看收件箱 Inbox
- 查看你的收件箱中是否有 "ping" 的消息,并确认是否发出了 “pong” 的回复消息。
lua
Inbox[#Inbox].Data
步骤 7: 测试和观察
- 发送不同的消息进行测试,并观察“ping”消息如何触发“pong”响应。
步骤 8: 保存进程 (可选)
- 如果你想在将来使用此过程,请将处理程序代码保存在Lua文件中以便于加载
进入 aos 会话。
INFO
额外提示:
- 处理程序效率: 简单的处理函数是关键. 确保它的执行效率并且只在正确的时候触发。
结论
恭喜! 您已经在 aos 中创建了一个基础的"ping-pong"进程。 本教程给理解 在aos 环境中的消息处理和进程交互奠定了基础。 随着您对这些概念越来越熟悉,您可以扩展到更复杂的流程和交互,探索 aos 的全部潜力。